<?php 

/**
 * Controleur permettant d'ajouter une ligne à la commande
 */
require_once('dao/Dao.php');
require_once('dao/CommandeDao.php');
require_once('dao/OffreVenteDao.php');
require_once('dao/OffreFixeDao.php');
require_once('dao/OffreAchatFixeDao.php');
require_once('dao/OffreVgaDao.php');
require_once('dao/ClientDao.php');
require_once('dao/OffreTerminalFixeDao.php');
require_once('dao/OffreVoipDao.php');
require_once('dao/OffreVenteOptionFixeDao.php');

if ($_SESSION['niveauAuth']=='1'or $_SESSION['niveauAuth']=='3' or $_SESSION['niveauAuth']=='4' or $_SESSION['niveauAuth']=='7' or $_SESSION['niveauAuth']=='8') {
	
$offre_vga = $offre_voip =	NULL;
$engagement = 0;

if (isset($_POST['action'])){
	
		if($_POST['ndi_vga']){$ndi = $_POST['ndi_vga'];}
		if($_POST['ndi_vga_num']){$ndi = $_POST['ndi_vga_num'];}
		if($_POST['ndi_voip']){$ndi = $_POST['ndi_voip'];}
		if($_POST['abonnement_vga']){$abonnement = $_POST['abonnement_vga'];}
		if($_POST['abonnement_vga_num']){$abonnement = $_POST['abonnement_vga_num'];}
		if($_POST['abonnement_voip']){$abonnement = $_POST['abonnement_voip'];}
		if($_POST['quantite_voip']){$abonnement_quantite = $_POST['quantite_voip'];}
		if($_POST['quantite_vga']){$abonnement_quantite = $_POST['quantite_vga'];}
		if($_POST['quantite_vga_num']){$abonnement_quantite = $_POST['quantite_vga_num'];}
		$sda = $_POST['sda'];
		$id_commande = $_GET['id'];
		$equipement_id = $_POST['equipement_id'];
		$equipement_q = $_POST['equipement_q'];
		$duree_financement = $_POST['duree_financement'];
		$engagement = $_POST['engagement'];
		$tab_materiel = array("libelle"=>"", "q"=>"", "prix"=>"", "duree_financement"=>"");
		$identifiant_adv = $_POST['identifiant_adv'];
		$abonnement_reduc = $_POST['abonnement'];
		$minute_national = $_POST['minute_national'];
		$minute_international = $_POST['minute_international'];
		$grille_tarifaire = $_POST['grille_tarifaire'];
		if(isset($_POST['fax_to_mail'])){$fax_to_mail = $_POST['fax_to_mail'];}else{$fax_to_mail = NULL;}
		if(isset($_POST['forfait_partage'])){$forfait_partage = $_POST['forfait_partage'];}else{$forfait_partage = NULL;}
		$raison_social = $_POST['raison_social'];
		$siret = $_POST['siret'];
		$ape = $_POST['ape'];
		$adresse = $_POST['adresse'];
		$cp = $_POST['cp'];
		$ville = $_POST['ville'];
		$batiment = $_POST['batiment'];
		$escalier = $_POST['escalier'];
		$etage = $_POST['etage'];
		$porte = $_POST['porte'];
		$corespondant = $_POST['corespondant'];
		$telephone = $_POST['telephone'];
		
		if(isset($_POST['choix_type_ligne']))
		{
			if($_POST['choix_type_ligne'] == '1')
			{
				$type_ligne = 'vga';
			}elseif($_POST['choix_type_ligne'] == '2'){
				$type_ligne = 'vga_num';
			}elseif($_POST['choix_type_ligne'] == '3'){
				$type_ligne = 'voip';
			}
		}else{
			$type_ligne = NULL;
		}
		
		if(isset($_POST['ligne'])){$ligne = $_POST['ligne'];}else{$ligne = NULL;}
		//if(isset($_POST['type_ligne'])){$interne = $_POST['type_ligne'];}else{$interne = NULL;}
		if(isset($_POST['option_fixe_vga']))
		{
			$option_fixe_vga = $_POST['option_fixe_vga'];
			$option_fixe_vga_q = count($option_fixe_vga);
		}else{$option_fixe_vga_q = 0;}
		if(isset($_POST['option_fixe_vga/num']))
		{
			$option_fixe_vga_num = $_POST['option_fixe_vga/num'];
			$option_fixe_vga_num_q = count($option_fixe_vga_num);
		}else{$option_fixe_vga_num_q = 0;}
		if(isset($_POST['option_fixe_voip']))
		{
			$option_fixe_voip = $_POST['option_fixe_voip'];
			$option_fixe_voip_q = count($option_fixe_voip);
		}else{$option_fixe_voip_q = 0;}
		
		$x=0;
		foreach ( array_filter($equipement_q) as $key=>$materiel_q )
		{
			$table = "vente_terminal_fixe";
			$nom_equipement = OffreTerminalFixeDao::searchEquipementFixe("vente_terminal_fixe",$equipement_id[$key]);
			$tab_materiel['libelle'][] = $nom_equipement[0]['libelle'];
			$tab_materiel['q'][] = $materiel_q;
			$tab_materiel['prix'][] = $nom_equipement[0]['prix_'.$engagement];
			$tab_materiel['duree_financement'][] = $duree_financement;
		}
		
		if($abonnement!='')
		{
			$offre = OffreFixeDao::searchById($abonnement);

			$jours = $offre[0]['jours'];
			$horaires = $offre[0]['horaires'];
			$prix = $offre[0]['pv'.$engagement.'m'];
			$temps = $offre[0]['temps_min'];
			$fixe = $offre[0]['fixe'];
			$mobile = $offre[0]['mobile'];
			$international = $offre[0]['international'];
			if(isset($quantite)){$quantite = $quantite;}else{$quantite = 1;}
			$nom = $offre[0]['id'];
		}	
		
	// CREATION DE LIGNE	
	if ($_POST['action'] == "create"){ 
		
		$ajoutOK = CommandeDao::ajouterLigneFixe($id_commande,$ndi,$sda,$nom,$abonnement_quantite,$temps,$prix,$jours,$horaires,$tab_materiel,$engagement,$_GET['code_client_hto'],$fixe,$mobile,$international,$identifiant_adv,$abonnement_reduc,$minute_national,$minute_international,$grille_tarifaire,$fax_to_mail,$forfait_partage,$raison_social,$siret,$ape,$adresse,$cp,$ville,$batiment,$escalier,$etage,$porte,$corespondant,$telephone,$type_ligne,$ligne,$interne);

		// Ajout des options VGA	
		if(isset($option_fixe_vga))
		{
			foreach ($option_fixe_vga as $key => $id) {
				$type_ligne = 'vga_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($id_commande,$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}
		
		// Ajout des options VGA/num	
		if(isset($option_fixe_vga_num))
		{
			foreach ($option_fixe_vga_num as $key => $id) {
				$type_ligne = 'vga_num_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($id_commande,$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}
		
		// Ajout des options VOIP
		if(isset($option_fixe_voip))
		{
			foreach ($option_fixe_voip as $key => $id) {
				$type_ligne = 'voip_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($id_commande,$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}
			
			
		if ($ajoutOK){
			redirect("creation-commande?id=".$id_commande."&code_client_hto=".$_GET['code_client_hto']."");
		} else {
			$error = "Création de ligne impossible";
		}
	}
	
	if ($_POST['action'] == "update"){ // MODIFICATION DE LIGNE
		
		$updateOK = CommandeDao::modifierLigneFixe ( $_GET['id'],$_GET['commande'],$ndi,$sda,$nom,$abonnement,$quantite,$temps,$prix,$jours,$horaires,$tab_materiel,$engagement,$_GET['code_client_hto'],$fixe,$mobile,$international,$identifiant_adv,$abonnement_reduc,$minute_national,$minute_international,$grille_tarifaire,$fax_to_mail,$forfait_partage,$raison_social,$siret,$ape,$adresse,$cp,$ville,$batiment,$escalier,$etage,$porte,$corespondant,$telephone,$type_ligne,$ligne,$interne);
		// Ajout des options VGA	
		if(isset($option_fixe_vga))
		{
			foreach ($option_fixe_vga as $key => $id) {
				$type_ligne = 'vga_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($_GET['commande'],$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}
		
		// Ajout des options VGA/num	
		if(isset($option_fixe_vga_num))
		{
			foreach ($option_fixe_vga_num as $key => $id) {
				$type_ligne = 'vga_num_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($_GET['commande'],$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}
		
		// Ajout des options VOIP
		if(isset($option_fixe_voip))
		{
			foreach ($option_fixe_voip as $key => $id) {
				$type_ligne = 'voip_option';
				$option = OffreVenteOptionFixeDao::searchById($id);
				CommandeDao::ajouterOptionFixe($_GET['commande'],$ndi,$type_ligne,$option[0]['id'],$option[0]['temps_min'],$option[0]['pv'.$engagement.'m'],$option[0]['jours'],$option[0]['horaires'],$option[0]['fixe'],$option[0]['mobile'],$option[0]['id_international']);
			}
		}

		if ($updateOK != ''){
			// Redirection vers la page 
			if ($_POST['next'] == "creation-commande"){
				redirect("creation-commande?id=".$_GET['commande']);
			} else if ($_POST['action'] == "ajout-ligne-mobile"){
				redirect("ajout-ligne-fixe?id=".$_GET['commande']);
			} else if ($_POST['action'] == "dupliquer-ligne"){
				redirect("ajout-ligne-fixe?action=duplicate&id=".$ajoutOK);
			} else if ($_POST['action'] == "liste-client"){
				redirect("liste-client");
			}
			
		} else {
			$error = "Mise à jour de ligne impossible";
		}
	}
}

//Affichage du n° de Commande
$commande = CommandeDao::findByCommandeId($_GET['id']);

// Chargement de la commande en cours
if(isset($_GET['action']) and $_GET['action']=='modif')
{
	$commande = CommandeDao::findByCommandeId($_GET['commande']);
	$ligneCommande = CommandeDao::findLigneById($_GET['id']);
	$materiel = CommandeDao::getEquipementFixeCommande($ligneCommande['id']);
	
	$options_ligne = CommandeDao::getOptionsFixeByNdi($_GET['commande'],$ligneCommande['ndi']);
}else{
	$ligneCommande = '';
	$materiel = '';
}

// Récupération des offres vga
$offres_vga = OffreFixeDao::getOffresFixe("vga");

// Récupération des offres vga/num
$offres_vga_num = OffreFixeDao::getOffresFixe("vga/num");

// Récupération des offres voip
$offres_voip = OffreFixeDao::getOffresFixe("voip");

// Récupération des offres internet
$offres_adsl = OffreFixeDao::getOffresFixe("xdsl");

// Récupération des équipements
$equipement = OffreVenteDao::getEquipement();

// Infos Client
$client = ClientDao::searchById($_GET['code_client_hto']);

// Rendu de la page
echo $twig->render('ajout-ligne-fixe.html',
		array(	'commande' => $commande,
				'ligneCommande' => $ligneCommande,
				'materiel' => $materiel,
				'client' => $client,
				'equipement' => $equipement,
				'offres_vga' => $offres_vga,
				'offres_vga_num' => $offres_vga_num,
				'offres_voip' => $offres_voip,
				'offres_adsl' => $offres_adsl,
				'message' => $message,
				'error' => $error));
}
else {
	redirect("home-admin");
}
